/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia.agente;

import entidades.HabitacionImpl;
import java.util.List;
import persistencia.Agente;
import persistencia.Criterio;
import persistencia.FabricaCriterio;
import persistencia.FachadaInterna;

/**
 *
 * @author Sebastian
 */
public class HabitacionAgente extends Agente implements Habitacion{

    private HabitacionImpl habitacionImpl;
    
    //private String oidHabitacion;
    private boolean matCama;
    
    
    
    @Override
    public int getNroHabitacion() {
        return getHabitacionImpl().getNroHabitacion();
    }

    @Override
    public void setNroHabitacion(int nroHabitacion) {
        getHabitacionImpl().setNroHabitacion(nroHabitacion);
    }

    @Override
    public String getSector() {
        return getHabitacionImpl().getSector();
    }

    @Override
    public void setSector(String sector) {
        getHabitacionImpl().setSector(sector);
    }

    @Override
    public boolean isDisponible() {
        return getHabitacionImpl().isDisponible();
    }

    @Override
    public void setDisponible(boolean disponible) {
        getHabitacionImpl().setDisponible(disponible);
    }

    @Override
    public String getTipoHabitacion() {
        return getHabitacionImpl().getTipoHabitacion();
    }

    @Override
    public void setTipoHabitacion(String tipoHabitacion) {
        getHabitacionImpl().setTipoHabitacion(tipoHabitacion);
    }

    @Override
    public List<Cama> getCamas() {
        
        Criterio criterio;
      
        if(!matCama){
            criterio = FabricaCriterio.getInstancia().obtenerCriterio("oidHabitacion", Criterio.OperadorRelacionalEnum.Igual.getString(), getOid(), true);
            habitacionImpl.setCamas(FachadaInterna.getInstancia().buscar(Cama.class, criterio));
            matCama = true;
        }
        
        return getHabitacionImpl().getCamas();
    }

    @Override
    public void setCamas(List<Cama> camas) {
        getHabitacionImpl().setCamas(camas);
    }

    public HabitacionImpl getHabitacionImpl() {
        return habitacionImpl;
    }

    public void setHabitacionImpl(HabitacionImpl habitacionImpl) {
        this.habitacionImpl = habitacionImpl;
    }

}
